"""
函数封装的步骤：
1、函数逻辑   内部逻辑
2、函数的参数  入口
3、return  出口
"""

from openpyxl import load_workbook


def read_excel_dict(file_name, sheet_name):
    # 第一步：通过文件得到一个工作簿。参数是文件名；如果有路径，需要填写绝对路径
    wb = load_workbook(file_name)
    # 第二步：获取 sheet 表格
    sheet = wb[sheet_name]
    # 第三步：获取整个 sheet 中的所有数据  [(), (), ()]
    data = list(sheet.values)  # [(),(),().....]

    # [{'case_id':1,'title':'测试用例1'.......}]
    # # 第一种方式：for 循环
    # list_dict = []
    # titles = data[0]
    # for row in data[1:]:
    #     d = dict(zip(titles, row))
    #     list_dict.append(d)
    # return list_dict

    # 第二种方式：列表推导式
    titles = data[0]
    return [dict(zip(titles, row)) for row in data[1:] ]


if __name__ == '__main__':
    res = read_excel_dict("cases.xlsx","Sheet1")
    print(res)
#  if __name__ == '__main__' 这样写的好处是：导入此模块时，if语句里面的不会被执行
